Credentials allow a service to authenticate a client before providing resources or sharing data with the client. Services usually distribute verifiable credentials to clients to allow the client to access the resources or data over a network. Credentials are not infinite, however, and should only be distributed to actual users of the service. Arbitrary distribution of credentials can result in exploitation or interruptions of services, such as denial of service attacks by malicious entities.
To limit distribution of credentials many services rely on human-verification methods. These human-verification methods use logins, passwords, and/or challenge response tests to verify the client's identity when a service is accessed. While these human-verification methods help to limit credential distribution to clients associated with human users, they compromise a user's computing experience.